package com.bf.electroplating.pojo.vo.exhaustGasWarning;

import com.bf.electroplating.pojo.vo.attachment.AttachmentVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 废气处理设施监控预警VO
 */
@Data
@Schema(description = "废气处理设施监控预警VO")
public class ExhaustGasWarningVO {

    @Schema(description = "预警ID")
    private String id;

    @Schema(description = "企业ID")
    private String companyId;

    @Schema(description = "企业名称")
    private String companyName;

    @Schema(description = "园区ID")
    private String parkId;

    @Schema(description = "园区名称")
    private String parkName;

    @Schema(description = "废气类型")
    private String exhaustGasType;

    @Schema(description = "废气类型名称")
    private String exhaustGasTypeName;

    @Schema(description = "监测因子")
    private String monitoringFactor;

    @Schema(description = "因子单位")
    private String factorUnit;

    @Schema(description = "监测值")
    private BigDecimal monitoringValue;

    @Schema(description = "阈值")
    private BigDecimal thresholdValue;

    @Schema(description = "预警类型")
    private String warningType;



    @Schema(description = "预警类型名称")
    private String warningTypeName;

    @Schema(description = "预警级别")
    private String warningLevel;

    @Schema(description = "预警级别名称")
    private String warningLevelName;

    @Schema(description = "预警问题描述")
    private String warningProblem;

    @Schema(description = "预警时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime warningTime;

    @Schema(description = "预警处置状态（0：未处理，1：已处理）")
    private String handleStatus;

    @Schema(description = "预警处置状态名称")
    private String handleStatusName;

    @Schema(description = "处理人")
    private String handleBy;

    @Schema(description = "处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handleTime;

    @Schema(description = "处理结果")
    private String handleResult;

    @Schema(description = "处理备注")
    private String handleRemark;

    @Schema(description = "关联设备ID")
    private String deviceId;

    @Schema(description = "设备名称")
    private String deviceName;

    @Schema(description = "数据来源")
    private String dataSource;

    @Schema(description = "创建人")
    private String createBy;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "修改人")
    private String updateBy;

    @Schema(description = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    @Schema(description = "逻辑删除标志（0：未删除，1：已删除）")
    private String delFlag;

    @Schema ( description = "附件" )
    private List<AttachmentVo> attFile;
}
